home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Amiga News 95
/
Amiga News 95.iso
/
dpat
/
dpat25
/
sisys.doc
< prev
next >
Wrap
Text File
|
1993-01-29
|
24KB
|
482 lines
Documentation pour Sisys
V1.0.8
© François Paulhiac, Janvier 1993.
===============================================================================
Sisys est un traceur de surfaces, c'est-à dire qu'il est capable de
représenter les ensembles de points de l'espace (x,y,z) qui vérifient
l'équation : z=f(x,y), où f est une fonction de deux variables. Pour cela, il
suffit de lui fournir la fonction f: il se chargera du calcul.
Sisys fonctionne sous les systèmes 1.3 et plus. Il ne tire pas partie des
avantages du 2.0 (pas d'overscan), mais il fonctionne. Il doit également
fonctionner sous le système 1.2, mais je ne l'ai pas testé...
Par contre, Sisys ne fonctionne que sur les machines disposant des
modes graphiques PAL: 320 * 256, 320 * 512, 640 * 256, 640 * 512.
Par rapport à d'autres traceurs de surfaces, Sisys possède quelques
particularités: d'abord, la possibilité "d'éclairer" la surface obtenue au
moyen de sources de lumières disposées dans l'espace. Voyez les exemples
fournis. Ceci vous permettra de créer des dessins plus "esthétiques", et
c'était le but principal que je poursuivais en écrivant ce programme. J'espère
que vous penserez que je l'ai atteint...
Les tracés sont effectués normalement en mode 640 * 256 (Hires) et 16
couleurs. Les tracés en "mode bicolore" (voir plus loin) se font en 320 * 256
(Lowres) et 32 couleurs. Il est possible d'entrelacer l'écran pour doubler ces
deux résolutions.
Sisys offre aussi quelques facilités pour "superposer" des fonctions,
c'est-à dire pour tracer des surfaces d'équation:
z = f1(x-x1,y-y1) + f2(x-x2,y-y2) + f3(x-x3,y-y3) + ... + fn(x-xn,y-yn)
où f1, f2, f3, ... , fn sont des fonctions de deux variables et x1,x2, ... , xn
et y1,y2, ... ,yn des constantes que vous fournissez. Si cela
vous semble un petit peu obscur, regardez les images "Vague.pic"
et "QuatreVagues.pic" (mais pas avant d'avoir installé l'ilbm.library dans
votre répertoire "LIBS: si vous voulez utiliser "ShowPic" comme viewer IFF).
Mais avant toute chose, vérifiez que vous possédez bien une version complête
de Sisys, c'est-à dire qui inclut les fichiers:
SisysFFP - Programme principal, calculs avec la mathffp.library.
Sisys - Idem, mais calculs avec la mathieeesingbas.library.
Cette version utilise le coprocesseur mathématique,
s'il est présent. Si vous êtes resté au Workbench
1.3, vous ne possédez peut-être pas la
mathieeesingbas.library.
Sisys.doc - ce fichier
ShowPic - un afficheur d'images IFF. Ne cherchez pas à
l'utiliser avant d'avoir installé l'ilbm.library.
Dans le répertore libs:
ilbm.library - une bibliothèque de fonctions permettant de
manipuler des fichiers IFF (surtout des images), par
Jeff Glatt. Copiez-là dans votre répertoire LIBS: si
ce n'est déjà fait, ou utilisez InstallIlbm (sous
2.0 uniquement). Notez que ce fichier n'a pas
d'icône.
Dans le répertoire ex, vous trouverez un certain nombre d'exemples. La
moitié des fichiers ont leur nom se terminant par ".sis", l'autre moitié par
".pic". Les premiers sont des fichiers de paramêtres à charger dans Sisys. Les
seconds sont les images IFF correspondantes.
A chacun des exemples suivants doit correspondre un fichier ".sis" et un
fichier ".pic":
Vague - surface z=sin(r)/r, avec r=sqrt(x^2+y^2).
QuatreVagues - superposition de quatre fonctions sin(r)/r.
Potentiel - un autre exemple de superposition: potentiel
électrique crée par deux charges.
Cone - un cône, représenté en mode bicolore.
Carre - superposition de cinq fonctions, en mode bicolore.
Qbert - bricolage avec des fonctions "partie entière", mode
bicolore (vous ne pourrez pas reproduire cet
exemple avec la version FFP de Sisys, puisque la
fonction "partie entière" (int) en est absente).
Il est possible que d'autres exemples soient fournis, mais si vous ne
possédez pas au moins ceux-ci, la version de Sisys que vous avez est
incomplête.
Maintenant, passons aux choses sérieuses...
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
1> Installation et lancement. >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
Vous devez d'abord copier la bibliothèque "ilbm.library" dans votre
répertoire LIBS:. Un petit programme d'installation est fourni: vous pouvez
double-cliquer sur son icône si vous voulez qu'il le fasse à votre place.
Voici maintenant comment lancer Sisys:
* Depuis le Workbench : Il suffit bien-sûr de double-cliquer sur son icône.
-----------------------
Notez cependant que si vous voulez utiliser un viewer IFF différent
de ShowPic pour regarder les images que vous allez fabriquer, vous pouvez
le signaler à Sisys: pour cela, cliquez une fois sur son icône et
choisissez "Information" dans le menu "Icon" (ou "Icône") du Workbench.
Ensuite, dans la liste des "ToolTypes", modifiez la ligne
"MYVIEWER=/SHOWPIC", en remplaçant "/SHOWPIC" par le nom (complet) de votre
viewer IFF.
Ceci a simplement pour effet que, à partir de maintenant, les icônes des
images crées par Sisys auront le nom de votre afficheur IFF pour "Default
Tool" (outil par défaut).
* Depuis un Shell: La syntaxe est:
------------------
Sisys [MV=<nom_de_l'afficheur_iff>] [fichier_de_paramêtres]
Notez que si vous ne précisez pas le nom de votre afficheur IFF, Sisys
recherchera son propre icône pour savoir lequel vous utilisez. S'il ne le
trouve pas, il prendra "/ShowPic" par défaut.
* Au démarrage, Sisys ouvre deux écrans : un écran en mode 640 * 256 et 16
couleurs, destiné à recevoir le tracé de la surface (notez que vous pourrez
changer la résolution de cet écran), et un écran 640 * 256 * 4 couleurs,
qui est l'écran des paramêtres.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
2> Un exemple de tracé >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
Sisys vous présente l'écran d'entrée des paramêtres lorsqu'il vient d'être
lancé. Il est rempli de gadgets de chaînes qui vont vous permettre
d'indiquer quelle surface vous voulez tracer. Notez que Sisys dispose
d'une aide intégrée: pour l'utiliser, choisissez une entrée dans le
menu déroulant "Aide". Vous y trouverez des explications sur l'utilisation
des menus déroulants proposés sur cet écran, ainsi que sur la signification
des gadgets de chaîne à l'écran.
Je vais essayer d'expliquer comment fonctionne ce programme à l'aide d'un
exemple. Supposons donc que vous vouliez tracer la surface d'équation
z=x^2-y^2, en voulant visualiser la partie de la surface tels que x et y
soient assez proches de 0 (c'est la partie la plus intéressante ici).
Ecriture de l'équation:
-----------------------
* Dans le champ intitulé "z=", entrez l'équation de cette surface: x^2-y^2.
* Les deux gadgets de chaînes suivants ne servent que lorsque vous
voulez utiliser la superposition de fonctions. Comme ce n'est pas le
cas ici, entrez 0 pour "X Origine" et également 0 pour "Y Origine".
* La rangée de bouton située immédiatement en-dessous ne sert aussi
que pour la superposition. Ne les utilisez pas pour
l'instant.
Eclairage:
----------
* La deuxième série de gadgets et la deuxième rangée de boutons servent à
éclairer la surface que vous allez tracer à l'aide de sources de
lumières disposées dans l'espace. Vous pouvez positionner jusqu'à 16
sources de lumières.
Vous devez voir écrit sur l'écran:
Source de lumière n°1/1 - Ceci signifie que vous être en train d'éditer
la première source de lumière de votre liste qui en comprend au total une.
Les gadgets de chaînes "x", "y" et "z" permettent de préciser de
quelle direction provient l'éclairage (les sources de lumières sont
supposées situées à l'infini). Par exemple, pour un éclairage provenant
du dessus, vous allez entrer: x=0, y=0, z=1. Pour un éclairage venant
du côté des x négatifs, vous entrez: x=-1, y=0, z=0.
Le dernier gadget de cette série, intitulé "puissance", attend un nombre
entier entre 1 et 12 (inclus). Il précise quelle doit être la puissance de
votre source de lumière. Plus cette puissance est élevée, plus la surface
vous apparaitra éclairée.
Supposons donc que vous vouliez éclairer votre surface avec deux sources de
lumières: l'une envoie des rayons provenant "du dessus", c'est-à dire
parallèles à l'axe des z. L'autre envoie des rayons situés dans le plan
(Oyz) tels que l'angle entre ces rayons et l'axe des y soit de pi/3 radians.
Editons d'abord la première source: entrez 0 pour x, 0 pour y, 1 pour z:
votre source de lumière se trouve ainsi dans la direction (0,0,1) -
verticale. Entrez ensuite, par exemple, 7 pour puissance.
Ensuite, cliquez sur le bouton " + " situé juste en-dessous. Ces 4
gadgets de chaîne doivent se vider et l'affichage doit maintenant
indiquer: Source de lumière n°2/2. Entrez respectivement pour x, y et z:
0, cos(pi/3), sin(pi/3). Puis, pour Puissance, 5 par exemple. Notez que si
vous ne voulez pas que votre surface soit trop sombre ou trop lumineuse,
il est préférable d'éviter (dans un premier temps, mais vous pourrez
toujours rectifier ceci ensuite si vous trouvez le dessin trop sombre) que
la somme des puissances de toutes les sources de lumières soit différente
de 12.
Zone de l'espace à visualiser:
------------------------------
* Passons maintenant à la dernière série de gadgets, tout-à fait en bas de
l'écran.
D'abord, vous devez voir, à gauche, quatre gadgets intitulés "X Min",
"Y Min", "X Max", "Y Max". Ils permettent de préciser entre quels domaines
doivent varier les variables x et y dont vous vous êtes servis pour définir
l'équation de la surface.
Pour celle-ci, il est préférable de visualiser le tracé au voisinage de 0.
Entrez donc, par exemple, X Min=-1, Y Min=-1, X Max=1, Y Max=1: x et y
varieront ainsi tous les deux entre -1 et 1.
Au milieu, les deux gadgets suivants (Z Min, Z Max) permettent d'indiquer
entre quelles valeurs va varier la fonction définie plus haut. Si
vous indiquez des valeurs à-peu prés correctes ici, Sisys saura dans
quelle partie de l'espace se trouve effectivement ce que vous voulez
représenter. Si vous ne connaissez pas précisément les maximas
et minimas de votre fonction dans l'intervalle défini avec X Min, X Max,
Y Min et Y Max, le mieux est de donner une estimation par excés de Z
Max et par défaut de Z Min.
Dans notre exemple, nous avons: -1 <= x <= 1 et -1 <= y <= 1 donc
0 <= x^2 <=1 et 0 <= y^2 <= 1 donc -1 <= x^2-y^2 <= 2. Entrons donc
comme estimations de Z Min et Z Max -1 et 2.
Angle de vue:
-------------
* Les gadgets suivants, intitulés RX et RZ, permettent de changer l'angle
sous lequel on veut visualiser la surface obtenue. Pour comprendre à quoi
cela correspond, imaginons que la surface ait été tracée dans un repère
(O,x,y,z) dans l'espace. Alors, le programme va faire tourner ce repère
sur lui-même ce repère d'un angle RX autour de son axe (Ox), puis d'un
angle RZ autour de son axe (Oz). Le résultat sera projeté sur l'écran
parallèlement à l'axe (Oz) tel qu'il était placé avant ces deux rotations.
Pour voir concrètement quel sera la position du repère après ces deux
rotations, entrez des valeurs pour RX et RZ et choisissez l'option "Repère
3d" dans le menu déroulant "Aide". Cliquez ensuite sur "OK" pour vous
débarrassez de cette nouvelle fenêtre.
Pour notre exemple, entrez respectivement "pi/3" et "pi/6" dans RX et RZ.
Notez que, dans Sisys, tous les angles sont mesurés en Radians.
Précision du tracé:
-------------------
* Les deux derniers gadgets, "Maille X" et "Maille Y", conditionnent
la précision du tracé. Vous devez entrer ici des valeurs
entières supérieures ou égales à 1. Des valeurs raisonnables sont
comprises entre 20 et 300. Lorsque le tracé sera lancé, la variable "x"
utilisée dans la définition de la surface prendra "Maille X" valeurs
différentes comprises entre "X Min" et "X Max", et la variable "y"
prendra "Maille Y" valeurs différentes entre "Y Min" et "Y Max". Notez
que plus ces deux valeurs sont élevés, plus le temps de calcul sera
long. Etant donné que la précision du tracé sera également conditionné
par la résolution de l'écran, il n'est pas raisonnable de prendre plus de
300 pour "Maille X" et "Maille Y". Pour notre exemple, vous pouvez entrer
80 et 80 pour ces deux valeurs.
Go!
---
* Cliquez enfin sur le bouton représentant une flêche courbée en bas à droite
de l'écran. Ceci lance le calcul. Puis ... Euh ... Attendez!
Si tout se passe bien, vous devriez voir apparaître une sorte de "Selle de
Cheval". Vous pouvez interrompre le tracé à tout moment en cliquant sur le
bouton droit de la souris sur l'écran de tracé.
Pendant tout le temps du tracé, l'écran des paramêtres est fermé.
Sauvegarde:
-----------
* Le calcul terminé, vous devriez voir réapparaître l'écran des paramêtres en
avant-plan. Pour sauvegarder votre oeuvre, deux étapes sont
nécessaires: sauvegarde des paramêtres et sauvegarde de l'image, ceci dans
deux fichiers indépendants. La première étape se fait en sélectionnant
l'option "Sauver" dans le menu "Projet", la seconde en sélectionnant
l'option "Sauver ILBM" dans ce même menu. Ces deux options se servent
d'un requester de fichier. Vous ne devriez pas avoir de difficultés à
l'utiliser. Le bouton "Parent" est celui dans lequel se trouve le symbole
"<<". Pour utiliser un filtre, tapez le nom de l'extension des fichiers
que vous voulez voir (par exemple "sis" pour les fichiers de paramêtres)
dans le gadget de chaîne approprié. Notez aussi que ce requester
est entièrement pilotable au clavier. Pour savoir comment, appuyez sur
"Help" lorsqu'il est affiché.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
3> Utilisation des boutons à l'écran >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
Sur l'écran des paramêtres, il existe deux rangées de boutons ressemblant à
ceux d'un magnétoscope. La première sert à éditer les fonctions à superposer,
la seconde sert à éditer les sources de lumière.
* La poubelle permet de détruire la fonction / source de lumière actuellement
affichée.
* Le bouton "<<" permet de revenir à la première fonction / source de lumière
de votre liste.
* Le bouton "<" permet de revenir à la fonction / source de lumière
précédente dans votre liste.
* Le bouton ">" permet d'aller à la fonction / source de lumière suivante de
votre liste.
* Le bouton ">>" permet d'aller à la dernière fonction / source de lumière de
votre liste.
* Le bouton "+" permet d'ajouter une fonction / source de lumière à la fin de
votre liste.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
4> La superposition >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
Elle consiste, comme je l'ai dit plus haut, à représenter des surfaces dont
l'équation est:
z = f1(x-x1,y-y1) + f2(x-x2,y-y2) + ... + fn(x-xn,y-yn)
Ici, vous ne pouvez pas utiliser plus de 16 fonctions f1, ... ,fn (ce qui
devrait largement suffire étant donné les temps de calcul!). Vous commencez
par rentrer la fonction f1 dans le champ "z", puis x1 dans le champ "X
Origine" et y1 dans le champ "Y Origine". Puis vous cliquez sur le bouton "+"
pour passer à la fonction f2, vous remplissez à nouveau ces trois gadgets,
et ainsi de suite...
Deux exemples de superposition sont fournis ici: QuatreVagues et Potentiel.
Vous pouvez charger les fichiers de paramêtres pour voir comment ils sont
constitués.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
5> Autres options >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
* Dans la définition de la fonction f(x,y), vous pouvez utiliser la variable
"r" comme raccourci de "sqrt(x^2+y^2)": elle représente la distance du
point de coordonnées (x,y) à l'origine.
* Le menu "couleur supérieure" permet de changer la couleur de votre dessin.
Essayez avec l'exemple précédent, une fois le tracé terminé (utilisez les
gadgets de profondeur des écrans pour voir le résultat de vos modifications
sur l'écran de tracé).
* Dans le menu "options":
- Barre de titre : ceci active / désactive la barre de titre sur l'écran
de tracé (pour voir la totalité du dessin si la barre de titre le masque
partiellement).
- Représentation "fil-de-fer" : cette option doit être sélectionnée avant
de lancer le tracé. Il se fera alors en mode monochrome, sur un écran en 2
couleurs, sans tenir compte des sources de lumières.
- Mode bicolore : cette option doit aussi être sélectionnée avant de
lancer le calcul. Si elle est sélectionnée, les faces supérieures et
inférieures de la surface seront tracées en utilisant deux jeux de
couleurs différents. Vous pouvez sélectionner ces deux jeux de couleur à
l'aide des menus "Couleur Supérieure" et "Couleur Inférieure".
- Arranger couleurs : cette option n'est active que si vous
avez sélectionné le mode bicolore. Vous devez également l'activer
avant de lancer le tracé. Pour déterminer si le côté visible
d'une facette constituant la surface en mode bicolore doit être colorié
avec la couleur supérieure ou avec la couleur inférieure, Sisys regarde
la coordonnée Z de la normale à cette facette. Si elle est positive, la
couleur supérieure sera utilisée, sinon ce sera la couleur inférieure.
Il peut arriver, lorsqu'une cette normale se situe dans un plan parallèle
à l'écran, que la coordonnée Z de ce vecteur soit trop proche de 0 pour
que la distinction soit clairement possible. Il en résulte que des points
de la couleur inférieure apparaissent au beau milieu de zones de la
couleur supérieure, et vice-versa, ce qui est incorrect. Pour éviter ça,
choisissez cette option. A la fin du tracé, le programme blayera l'écran à
la recherche de points "mals coloriés". Notez que cette option prend du
temps (env. 1mn) et qu'elle peut mal fonctionner si la résolution de
votre tracé (Maille X, Maille Y) est trop faible.
- Entrelacé : ceci permet de doubler la résolution de l'écran.
Normalement, le tracé se fait sur un écran 640 * 256, mode Hires (16
couleurs). En mode bicolore, le tracé se fait sur un écran 320 * 256,
mode LowRes (32 couleurs). Passer en entrelacé permet d'atteindre le
résolutions respectives de 640 * 512 et 320 * 512.
* Pour voir la signification des autres options des menus déroulants,
ainsi que les fonctions mathématiques usuelles disponibles pour
l'écriture de l'équation de vos surfaces, reportez-vous à l'aide
intégrée, en choisissant une option dans le menu "Aide".
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
6> Conditions d'utilisation et de distribution >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
Sisys est FREEWARE, ce qui signifie que :
* Sisys est gratuit,
* Vous pouvez le redistribuer à qui vous voulez,
* Mais, lorsque vous le redistribuez, vous ne devez pas enlever l'un des
fichiers mentionné plus haut (mais vous pouvez les archiver),
* Vous ne devez pas non plus modifier Sisys et le redistribuer sans m'en
avertir. Vous pouvez faire toutes les modifications que vous voudrez à ce
programme tant que vous conservez la version modifiée pour vous. Si vous
voulez distribuer une version modifiée, s'il-vous plaît, avertissez-moi.
* Et surtout : VOUS NE DEVEZ PAS LE VENDRE. Vous ne devez pas réclamer
plus de 30 francs par disquette contenant Sisys que vous diffusez. Ce
programme ne doit pas être diffusé sur des réseaux commerciaux. Si
vous voulez l'inclure dans un package commercial (!), vous devez
avoir une autorisation écrite de ma part.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
7> Remerciements >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
Je tient à remercier les personnes suivantes pour les utilitaires qu'ils ont
écrit, et qui m'ont servi à bricoler ce programme:
* Matthew Dillon pour DICE et DME. Sisys est entièrement écrit en C DICE.
* Harmut Goebel pour l'éditeur AmokEd (le meilleur éditeur non commercial que
j'ai trouvé).
* Jean-Michel Forgeas pour l'éditeur Az (que j'utilisais avant DME et AmokEd,
mais qui est toujours le plus simple d'emploi).
* Jan van den Baard et Jaba Development pour PowerSource (générateur d'inter-
faces graphiques).
* Jeff Glatt pour l'ilbm.library (utilisée ici pour la sauvegarde IFF).
* Pierre-Louis Mangeard et Equilog pour Mice.
* Anders Bjerin pour le requester de fichier FileWindow.
Et aussi:
* Guils pour avoir amélioré FileWindow et avoir courageusement testé toutes
les versions provisoires que je lui ai envoyées.
Enfin, une note: Sisys est un nom qui ne veut absolument rien dire, donc
inutile de chercher!
>> Mon adresse : Paulhiac François, 24440 Saint-Avit Sénieur, FRANCE.